<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>mxEdgeHandler</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.51 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="mxEdgeHandler"></a>mxEdgeHandler</h1><div class=CBody><p>Graph event handler that reconnects edges and modifies control points and the edge label location.&nbsp; Uses &lt;mxTerminalMarker&gt; for finding and highlighting new source and target vertices.&nbsp; This handler is automatically created in <a href="../view/mxGraph-js.html#mxGraph.createHandler" class=LFunction id=link112 onMouseOver="ShowTip(event, 'tt96', 'link112')" onMouseOut="HideTip('tt96')">mxGraph.createHandler</a> for each selected edge.</p><h4 class=CHeading>To enable adding/removing control points, the following code can be used</h4><blockquote><pre class="prettyprint">mxEdgeHandler.prototype.addEnabled = true;
mxEdgeHandler.prototype.removeEnabled = true;</pre></blockquote><p>Note: This experimental feature is not recommended for production use.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#mxEdgeHandler" >mxEdgeHandler</a></td><td class=SDescription>Graph event handler that reconnects edges and modifies control points and the edge label location. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxEdgeHandler.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.mxEdgeHandler" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">mxEdgeHandler</a></td><td class=SDescription>Constructs an edge handler for the specified <a href="../view/mxCellState-js.html#mxCellState" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">mxCellState</a>.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxEdgeHandler.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.graph" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">graph</a></td><td class=SDescription>Reference to the enclosing <a href="../view/mxGraph-js.html#mxGraph" class=LClass id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">mxGraph</a>.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.state" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">state</a></td><td class=SDescription>Reference to the <a href="../view/mxCellState-js.html#mxCellState" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt2', 'link6')" onMouseOut="HideTip('tt2')">mxCellState</a> being modified.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.marker" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">marker</a></td><td class=SDescription>Holds the &lt;mxTerminalMarker&gt; which is used for highlighting terminals.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.constraintHandler" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">constraintHandler</a></td><td class=SDescription>Holds the <a href="mxConstraintHandler-js.html#mxConstraintHandler" class=LClass id=link9 onMouseOver="ShowTip(event, 'tt8', 'link9')" onMouseOut="HideTip('tt8')">mxConstraintHandler</a> used for drawing and highlighting constraints.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.error" id=link10 onMouseOver="ShowTip(event, 'tt9', 'link10')" onMouseOut="HideTip('tt9')">error</a></td><td class=SDescription>Holds the current validation error while a connection is being changed.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.shape" id=link11 onMouseOver="ShowTip(event, 'tt10', 'link11')" onMouseOut="HideTip('tt10')">shape</a></td><td class=SDescription>Holds the <a href="../shape/mxShape-js.html#mxShape" class=LClass id=link12 onMouseOver="ShowTip(event, 'tt11', 'link12')" onMouseOut="HideTip('tt11')">mxShape</a> that represents the preview edge.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.bends" id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">bends</a></td><td class=SDescription>Holds the <a href="../shape/mxShape-js.html#mxShape" class=LClass id=link14 onMouseOver="ShowTip(event, 'tt11', 'link14')" onMouseOut="HideTip('tt11')">mxShapes</a> that represent the points.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.labelShape" id=link15 onMouseOver="ShowTip(event, 'tt13', 'link15')" onMouseOut="HideTip('tt13')">labelShape</a></td><td class=SDescription>Holds the <a href="../shape/mxShape-js.html#mxShape" class=LClass id=link16 onMouseOver="ShowTip(event, 'tt11', 'link16')" onMouseOut="HideTip('tt11')">mxShape</a> that represents the label position.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.cloneEnabled" id=link17 onMouseOver="ShowTip(event, 'tt14', 'link17')" onMouseOut="HideTip('tt14')">cloneEnabled</a></td><td class=SDescription>Specifies if cloning by control-drag is enabled. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.addEnabled" id=link18 onMouseOver="ShowTip(event, 'tt15', 'link18')" onMouseOut="HideTip('tt15')">addEnabled</a></td><td class=SDescription>Specifies if adding bends by shift-click is enabled. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.removeEnabled" id=link19 onMouseOver="ShowTip(event, 'tt16', 'link19')" onMouseOut="HideTip('tt16')">removeEnabled</a></td><td class=SDescription>Specifies if removing bends by shift-click is enabled. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.dblClickRemoveEnabled" id=link20 onMouseOver="ShowTip(event, 'tt17', 'link20')" onMouseOut="HideTip('tt17')">dblClickRemoveEnabled</a></td><td class=SDescription>Specifies if removing bends by double click is enabled. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.mergeRemoveEnabled" id=link21 onMouseOver="ShowTip(event, 'tt18', 'link21')" onMouseOut="HideTip('tt18')">mergeRemoveEnabled</a></td><td class=SDescription>Specifies if removing bends by dropping them on other bends is enabled. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.straightRemoveEnabled" id=link22 onMouseOver="ShowTip(event, 'tt19', 'link22')" onMouseOut="HideTip('tt19')">straightRemoveEnabled</a></td><td class=SDescription>Specifies if removing bends by creating straight segments should be enabled. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.virtualBendsEnabled" id=link23 onMouseOver="ShowTip(event, 'tt20', 'link23')" onMouseOut="HideTip('tt20')">virtualBendsEnabled</a></td><td class=SDescription>Specifies if virtual bends should be added in the center of each segments. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.virtualBendOpacity" id=link24 onMouseOver="ShowTip(event, 'tt21', 'link24')" onMouseOut="HideTip('tt21')">virtualBendOpacity</a></td><td class=SDescription>Opacity to be used for virtual bends (see <a href="#mxEdgeHandler.virtualBendsEnabled" class=LVariable id=link25 onMouseOver="ShowTip(event, 'tt20', 'link25')" onMouseOut="HideTip('tt20')">virtualBendsEnabled</a>). </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.parentHighlightEnabled" id=link26 onMouseOver="ShowTip(event, 'tt22', 'link26')" onMouseOut="HideTip('tt22')">parentHighlightEnabled</a></td><td class=SDescription>Specifies if the parent should be highlighted if a child cell is selected. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.preferHtml" id=link27 onMouseOver="ShowTip(event, 'tt23', 'link27')" onMouseOut="HideTip('tt23')">preferHtml</a></td><td class=SDescription>Specifies if bends should be added to the graph container. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.allowHandleBoundsCheck" id=link28 onMouseOver="ShowTip(event, 'tt24', 'link28')" onMouseOut="HideTip('tt24')">allowHandleBoundsCheck</a></td><td class=SDescription>Specifies if the bounds of handles should be used for hit-detection in IE Default is true.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.snapToTerminals" id=link29 onMouseOver="ShowTip(event, 'tt25', 'link29')" onMouseOut="HideTip('tt25')">snapToTerminals</a></td><td class=SDescription>Specifies if waypoints should snap to the routing centers of terminals. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.handleImage" id=link30 onMouseOver="ShowTip(event, 'tt26', 'link30')" onMouseOut="HideTip('tt26')">handleImage</a></td><td class=SDescription>Optional <a href="../util/mxImage-js.html#mxImage" class=LClass id=link31 onMouseOver="ShowTip(event, 'tt27', 'link31')" onMouseOut="HideTip('tt27')">mxImage</a> to be used as handles. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.tolerance" id=link32 onMouseOver="ShowTip(event, 'tt28', 'link32')" onMouseOut="HideTip('tt28')">tolerance</a></td><td class=SDescription>Optional tolerance for hit-detection in <a href="#mxEdgeHandler.getHandleForEvent" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt29', 'link33')" onMouseOut="HideTip('tt29')">getHandleForEvent</a>. </td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.outlineConnect" id=link34 onMouseOver="ShowTip(event, 'tt30', 'link34')" onMouseOut="HideTip('tt30')">outlineConnect</a></td><td class=SDescription>Specifies if connections to the outline of a highlighted target should be enabled. </td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#mxEdgeHandler.manageLabelHandle" id=link35 onMouseOver="ShowTip(event, 'tt31', 'link35')" onMouseOut="HideTip('tt31')">manageLabelHandle</a></td><td class=SDescription>Specifies if the label handle should be moved if it intersects with another handle. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#mxEdgeHandler.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.init" id=link36 onMouseOver="ShowTip(event, 'tt32', 'link36')" onMouseOut="HideTip('tt32')">init</a></td><td class=SDescription>Initializes the shapes required for this edge handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isParentHighlightVisible" >isParentHighlightVisible</a></td><td class=SDescription>Returns true if the parent highlight should be visible. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.updateParentHighlight" >updateParentHighlight</a></td><td class=SDescription>Updates the highlight of the parent if <a href="#mxEdgeHandler.parentHighlightEnabled" class=LVariable id=link37 onMouseOver="ShowTip(event, 'tt22', 'link37')" onMouseOut="HideTip('tt22')">parentHighlightEnabled</a> is true.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.createCustomHandles" id=link38 onMouseOver="ShowTip(event, 'tt33', 'link38')" onMouseOut="HideTip('tt33')">createCustomHandles</a></td><td class=SDescription>Returns an array of custom handles. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isVirtualBendsEnabled" id=link39 onMouseOver="ShowTip(event, 'tt34', 'link39')" onMouseOut="HideTip('tt34')">isVirtualBendsEnabled</a></td><td class=SDescription>Returns true if virtual bends should be added. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isCellEnabled" id=link40 onMouseOver="ShowTip(event, 'tt35', 'link40')" onMouseOut="HideTip('tt35')">isCellEnabled</a></td><td class=SDescription>Returns true if the given cell allows new connections to be created. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isAddPointEvent" id=link41 onMouseOver="ShowTip(event, 'tt36', 'link41')" onMouseOut="HideTip('tt36')">isAddPointEvent</a></td><td class=SDescription>Returns true if the given event is a trigger to add a new point. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isRemovePointEvent" id=link42 onMouseOver="ShowTip(event, 'tt37', 'link42')" onMouseOut="HideTip('tt37')">isRemovePointEvent</a></td><td class=SDescription>Returns true if the given event is a trigger to remove a point. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.getSelectionPoints" id=link43 onMouseOver="ShowTip(event, 'tt38', 'link43')" onMouseOut="HideTip('tt38')">getSelectionPoints</a></td><td class=SDescription>Returns the list of points that defines the selection stroke.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.createParentHighlightShape" id=link44 onMouseOver="ShowTip(event, 'tt39', 'link44')" onMouseOut="HideTip('tt39')">createParentHighlightShape</a></td><td class=SDescription>Creates the shape used to draw the selection border.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.createSelectionShape" id=link45 onMouseOver="ShowTip(event, 'tt40', 'link45')" onMouseOut="HideTip('tt40')">createSelectionShape</a></td><td class=SDescription>Creates the shape used to draw the selection border.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.getSelectionColor" id=link46 onMouseOver="ShowTip(event, 'tt41', 'link46')" onMouseOut="HideTip('tt41')">getSelectionColor</a></td><td class=SDescription>Returns <a href="../util/mxConstants-js.html#mxConstants.EDGE_SELECTION_COLOR" class=LVariable id=link47 onMouseOver="ShowTip(event, 'tt42', 'link47')" onMouseOut="HideTip('tt42')">mxConstants.EDGE_SELECTION_COLOR</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.getSelectionStrokeWidth" id=link48 onMouseOver="ShowTip(event, 'tt43', 'link48')" onMouseOut="HideTip('tt43')">getSelectionStrokeWidth</a></td><td class=SDescription>Returns <a href="../util/mxConstants-js.html#mxConstants.EDGE_SELECTION_STROKEWIDTH" class=LVariable id=link49 onMouseOver="ShowTip(event, 'tt44', 'link49')" onMouseOut="HideTip('tt44')">mxConstants.EDGE_SELECTION_STROKEWIDTH</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isSelectionDashed" id=link50 onMouseOver="ShowTip(event, 'tt45', 'link50')" onMouseOut="HideTip('tt45')">isSelectionDashed</a></td><td class=SDescription>Returns &lt;mxConstants.EDGE_SELECTION_DASHED&gt;.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isConnectableCell" id=link51 onMouseOver="ShowTip(event, 'tt46', 'link51')" onMouseOut="HideTip('tt46')">isConnectableCell</a></td><td class=SDescription>Returns true if the given cell is connectable. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.getCellAt" id=link52 onMouseOver="ShowTip(event, 'tt47', 'link52')" onMouseOut="HideTip('tt47')">getCellAt</a></td><td class=SDescription>Creates and returns the <a href="mxCellMarker-js.html#mxCellMarker" class=LClass id=link53 onMouseOver="ShowTip(event, 'tt48', 'link53')" onMouseOut="HideTip('tt48')">mxCellMarker</a> used in <a href="#mxEdgeHandler.marker" class=LVariable id=link54 onMouseOver="ShowTip(event, 'tt6', 'link54')" onMouseOut="HideTip('tt6')">marker</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.createMarker" id=link55 onMouseOver="ShowTip(event, 'tt49', 'link55')" onMouseOut="HideTip('tt49')">createMarker</a></td><td class=SDescription>Creates and returns the <a href="mxCellMarker-js.html#mxCellMarker" class=LClass id=link56 onMouseOver="ShowTip(event, 'tt48', 'link56')" onMouseOut="HideTip('tt48')">mxCellMarker</a> used in <a href="#mxEdgeHandler.marker" class=LVariable id=link57 onMouseOver="ShowTip(event, 'tt6', 'link57')" onMouseOut="HideTip('tt6')">marker</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.validateConnection" id=link58 onMouseOver="ShowTip(event, 'tt50', 'link58')" onMouseOut="HideTip('tt50')">validateConnection</a></td><td class=SDescription>Returns the error message or an empty string if the connection for the given source, target pair is not valid. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.createBends" id=link59 onMouseOver="ShowTip(event, 'tt51', 'link59')" onMouseOut="HideTip('tt51')">createBends</a></td><td class=SDescription>Creates and returns the bends used for modifying the edge. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.createVirtualBends" id=link60 onMouseOver="ShowTip(event, 'tt52', 'link60')" onMouseOut="HideTip('tt52')">createVirtualBends</a></td><td class=SDescription>Creates and returns the bends used for modifying the edge. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isHandleEnabled" id=link61 onMouseOver="ShowTip(event, 'tt53', 'link61')" onMouseOut="HideTip('tt53')">isHandleEnabled</a></td><td class=SDescription>Creates the shape used to display the given bend.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isHandleVisible" id=link62 onMouseOver="ShowTip(event, 'tt54', 'link62')" onMouseOut="HideTip('tt54')">isHandleVisible</a></td><td class=SDescription>Returns true if the handle at the given index is visible.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.createHandleShape" id=link63 onMouseOver="ShowTip(event, 'tt55', 'link63')" onMouseOut="HideTip('tt55')">createHandleShape</a></td><td class=SDescription>Creates the shape used to display the given bend. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.createLabelHandleShape" id=link64 onMouseOver="ShowTip(event, 'tt56', 'link64')" onMouseOut="HideTip('tt56')">createLabelHandleShape</a></td><td class=SDescription>Creates the shape used to display the the label handle.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.initBend" id=link65 onMouseOver="ShowTip(event, 'tt57', 'link65')" onMouseOut="HideTip('tt57')">initBend</a></td><td class=SDescription>Helper method to initialize the given bend.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.getHandleForEvent" id=link66 onMouseOver="ShowTip(event, 'tt29', 'link66')" onMouseOut="HideTip('tt29')">getHandleForEvent</a></td><td class=SDescription>Returns the index of the handle for the given event.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isAddVirtualBendEvent" id=link67 onMouseOver="ShowTip(event, 'tt58', 'link67')" onMouseOut="HideTip('tt58')">isAddVirtualBendEvent</a></td><td class=SDescription>Returns true if the given event allows virtual bends to be added. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isCustomHandleEvent" id=link68 onMouseOver="ShowTip(event, 'tt59', 'link68')" onMouseOut="HideTip('tt59')">isCustomHandleEvent</a></td><td class=SDescription>Returns true if the given event allows custom handles to be changed. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.mouseDown" id=link69 onMouseOver="ShowTip(event, 'tt60', 'link69')" onMouseOut="HideTip('tt60')">mouseDown</a></td><td class=SDescription>Handles the event by checking if a special element of the handler was clicked, in which case the index parameter is non-null. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.start" id=link70 onMouseOver="ShowTip(event, 'tt61', 'link70')" onMouseOut="HideTip('tt61')">start</a></td><td class=SDescription>Starts the handling of the mouse gesture.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.clonePreviewState" id=link71 onMouseOver="ShowTip(event, 'tt62', 'link71')" onMouseOut="HideTip('tt62')">clonePreviewState</a></td><td class=SDescription>Returns a clone of the current preview state for the given point and terminal.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.getSnapToTerminalTolerance" id=link72 onMouseOver="ShowTip(event, 'tt63', 'link72')" onMouseOut="HideTip('tt63')">getSnapToTerminalTolerance</a></td><td class=SDescription>Returns the tolerance for the guides. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.updateHint" id=link73 onMouseOver="ShowTip(event, 'tt64', 'link73')" onMouseOut="HideTip('tt64')">updateHint</a></td><td class=SDescription>Hook for subclassers do show details while the handler is active.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.removeHint" id=link74 onMouseOver="ShowTip(event, 'tt65', 'link74')" onMouseOut="HideTip('tt65')">removeHint</a></td><td class=SDescription>Hooks for subclassers to hide details when the handler gets inactive.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.roundLength" id=link75 onMouseOver="ShowTip(event, 'tt66', 'link75')" onMouseOut="HideTip('tt66')">roundLength</a></td><td class=SDescription>Hook for rounding the unscaled width or height. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isSnapToTerminalsEvent" id=link76 onMouseOver="ShowTip(event, 'tt67', 'link76')" onMouseOut="HideTip('tt67')">isSnapToTerminalsEvent</a></td><td class=SDescription>Returns true if <a href="#mxEdgeHandler.snapToTerminals" class=LVariable id=link77 onMouseOver="ShowTip(event, 'tt25', 'link77')" onMouseOut="HideTip('tt25')">snapToTerminals</a> is true and if alt is not pressed.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.getPointForEvent" id=link78 onMouseOver="ShowTip(event, 'tt68', 'link78')" onMouseOut="HideTip('tt68')">getPointForEvent</a></td><td class=SDescription>Returns the point for the given event.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.getPreviewTerminalState" id=link79 onMouseOver="ShowTip(event, 'tt69', 'link79')" onMouseOut="HideTip('tt69')">getPreviewTerminalState</a></td><td class=SDescription>Updates the given preview state taking into account the state of the constraint handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.getPreviewPoints" id=link80 onMouseOver="ShowTip(event, 'tt70', 'link80')" onMouseOut="HideTip('tt70')">getPreviewPoints</a></td><td class=SDescription>Updates the given preview state taking into account the state of the constraint handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.isOutlineConnectEvent" id=link81 onMouseOver="ShowTip(event, 'tt71', 'link81')" onMouseOut="HideTip('tt71')">isOutlineConnectEvent</a></td><td class=SDescription>Returns true if <a href="#mxEdgeHandler.outlineConnect" class=LVariable id=link82 onMouseOver="ShowTip(event, 'tt30', 'link82')" onMouseOut="HideTip('tt30')">outlineConnect</a> is true and the source of the event is the outline shape or shift is pressed.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.updatePreviewState" id=link83 onMouseOver="ShowTip(event, 'tt72', 'link83')" onMouseOut="HideTip('tt72')">updatePreviewState</a></td><td class=SDescription>Updates the given preview state taking into account the state of the constraint handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.mouseMove" id=link84 onMouseOver="ShowTip(event, 'tt73', 'link84')" onMouseOut="HideTip('tt73')">mouseMove</a></td><td class=SDescription>Handles the event by updating the preview.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.mouseUp" id=link85 onMouseOver="ShowTip(event, 'tt74', 'link85')" onMouseOut="HideTip('tt74')">mouseUp</a></td><td class=SDescription>Handles the event to applying the previewed changes on the edge by using <a href="#mxEdgeHandler.moveLabel" class=LFunction id=link86 onMouseOver="ShowTip(event, 'tt75', 'link86')" onMouseOut="HideTip('tt75')">moveLabel</a>, <a href="#mxEdgeHandler.connect" class=LFunction id=link87 onMouseOver="ShowTip(event, 'tt76', 'link87')" onMouseOut="HideTip('tt76')">connect</a> or <a href="#mxEdgeHandler.changePoints" class=LFunction id=link88 onMouseOver="ShowTip(event, 'tt77', 'link88')" onMouseOut="HideTip('tt77')">changePoints</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.reset" id=link89 onMouseOver="ShowTip(event, 'tt78', 'link89')" onMouseOut="HideTip('tt78')">reset</a></td><td class=SDescription>Resets the state of this handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.setPreviewColor" id=link90 onMouseOver="ShowTip(event, 'tt79', 'link90')" onMouseOut="HideTip('tt79')">setPreviewColor</a></td><td class=SDescription>Sets the color of the preview to the given value.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.convertPoint" id=link91 onMouseOver="ShowTip(event, 'tt80', 'link91')" onMouseOut="HideTip('tt80')">convertPoint</a></td><td class=SDescription>Converts the given point in-place from screen to unscaled, untranslated graph coordinates and applies the grid. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.moveLabel" id=link92 onMouseOver="ShowTip(event, 'tt75', 'link92')" onMouseOut="HideTip('tt75')">moveLabel</a></td><td class=SDescription>Changes the coordinates for the label of the given edge.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.connect" id=link93 onMouseOver="ShowTip(event, 'tt76', 'link93')" onMouseOut="HideTip('tt76')">connect</a></td><td class=SDescription>Changes the terminal or terminal point of the given edge in the graph model.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.changeTerminalPoint" id=link94 onMouseOver="ShowTip(event, 'tt81', 'link94')" onMouseOut="HideTip('tt81')">changeTerminalPoint</a></td><td class=SDescription>Changes the terminal point of the given edge.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.changePoints" id=link95 onMouseOver="ShowTip(event, 'tt77', 'link95')" onMouseOut="HideTip('tt77')">changePoints</a></td><td class=SDescription>Changes the control points of the given edge in the graph model.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.addPoint" id=link96 onMouseOver="ShowTip(event, 'tt82', 'link96')" onMouseOut="HideTip('tt82')">addPoint</a></td><td class=SDescription>Adds a control point for the given state and event.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.addPointAt" id=link97 onMouseOver="ShowTip(event, 'tt83', 'link97')" onMouseOut="HideTip('tt83')">addPointAt</a></td><td class=SDescription>Adds a control point at the given point.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.removePoint" id=link98 onMouseOver="ShowTip(event, 'tt84', 'link98')" onMouseOut="HideTip('tt84')">removePoint</a></td><td class=SDescription>Removes the control point at the given index from the given state.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.getHandleFillColor" id=link99 onMouseOver="ShowTip(event, 'tt85', 'link99')" onMouseOut="HideTip('tt85')">getHandleFillColor</a></td><td class=SDescription>Returns the fillcolor for the handle at the given index.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.redraw" id=link100 onMouseOver="ShowTip(event, 'tt86', 'link100')" onMouseOut="HideTip('tt86')">redraw</a></td><td class=SDescription>Redraws the preview, and the bends- and label control points.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.redrawHandles" id=link101 onMouseOver="ShowTip(event, 'tt87', 'link101')" onMouseOut="HideTip('tt87')">redrawHandles</a></td><td class=SDescription>Redraws the handles.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isCustomHandleVisible" id=link102 onMouseOver="ShowTip(event, 'tt88', 'link102')" onMouseOut="HideTip('tt88')">isCustomHandleVisible</a></td><td class=SDescription>Returns true if the given custom handle is visible.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.hideHandles" >hideHandles</a></td><td class=SDescription>Shortcut to &lt;hideSizers&gt;.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.redrawInnerBends" id=link103 onMouseOver="ShowTip(event, 'tt89', 'link103')" onMouseOut="HideTip('tt89')">redrawInnerBends</a></td><td class=SDescription>Updates and redraws the inner bends.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.checkLabelHandle" id=link104 onMouseOver="ShowTip(event, 'tt90', 'link104')" onMouseOut="HideTip('tt90')">checkLabelHandle</a></td><td class=SDescription>Checks if the label handle intersects the given bounds and moves it if it intersects.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.drawPreview" id=link105 onMouseOver="ShowTip(event, 'tt91', 'link105')" onMouseOut="HideTip('tt91')">drawPreview</a></td><td class=SDescription>Redraws the preview.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.refresh" id=link106 onMouseOver="ShowTip(event, 'tt92', 'link106')" onMouseOut="HideTip('tt92')">refresh</a></td><td class=SDescription>Refreshes the bends of this handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.isDestroyed" id=link107 onMouseOver="ShowTip(event, 'tt93', 'link107')" onMouseOut="HideTip('tt93')">isDestroyed</a></td><td class=SDescription>Returns true if <a href="#mxEdgeHandler.destroy" class=LFunction id=link108 onMouseOver="ShowTip(event, 'tt94', 'link108')" onMouseOut="HideTip('tt94')">destroy</a> was called.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#mxEdgeHandler.destroyBends" id=link109 onMouseOver="ShowTip(event, 'tt95', 'link109')" onMouseOut="HideTip('tt95')">destroyBends</a></td><td class=SDescription>Destroys all elements in <a href="#mxEdgeHandler.bends" class=LVariable id=link110 onMouseOver="ShowTip(event, 'tt12', 'link110')" onMouseOut="HideTip('tt12')">bends</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#mxEdgeHandler.destroy" id=link111 onMouseOver="ShowTip(event, 'tt94', 'link111')" onMouseOut="HideTip('tt94')">destroy</a></td><td class=SDescription>Destroys the handler and all its resources and DOM nodes. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.mxEdgeHandler"></a>mxEdgeHandler</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>function mxEdgeHandler(</td><td class="PParameter  prettyprint " nowrap>state</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs an edge handler for the specified <a href="../view/mxCellState-js.html#mxCellState" class=LClass id=link113 onMouseOver="ShowTip(event, 'tt2', 'link113')" onMouseOut="HideTip('tt2')">mxCellState</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>state</td><td class=CDLDescription><a href="../view/mxCellState-js.html#mxCellState" class=LClass id=link114 onMouseOver="ShowTip(event, 'tt2', 'link114')" onMouseOut="HideTip('tt2')">mxCellState</a> of the cell to be handled.</td></tr></table></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.Variables"></a>Variables</h3></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.graph"></a>graph</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.graph</td></tr></table></blockquote><p>Reference to the enclosing <a href="../view/mxGraph-js.html#mxGraph" class=LClass id=link115 onMouseOver="ShowTip(event, 'tt4', 'link115')" onMouseOut="HideTip('tt4')">mxGraph</a>.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.state"></a>state</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.state</td></tr></table></blockquote><p>Reference to the <a href="../view/mxCellState-js.html#mxCellState" class=LClass id=link116 onMouseOver="ShowTip(event, 'tt2', 'link116')" onMouseOut="HideTip('tt2')">mxCellState</a> being modified.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.marker"></a>marker</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.marker</td></tr></table></blockquote><p>Holds the &lt;mxTerminalMarker&gt; which is used for highlighting terminals.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.constraintHandler"></a>constraintHandler</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.constraintHandler</td></tr></table></blockquote><p>Holds the <a href="mxConstraintHandler-js.html#mxConstraintHandler" class=LClass id=link117 onMouseOver="ShowTip(event, 'tt8', 'link117')" onMouseOut="HideTip('tt8')">mxConstraintHandler</a> used for drawing and highlighting constraints.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.error"></a>error</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.error</td></tr></table></blockquote><p>Holds the current validation error while a connection is being changed.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.shape"></a>shape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.shape</td></tr></table></blockquote><p>Holds the <a href="../shape/mxShape-js.html#mxShape" class=LClass id=link118 onMouseOver="ShowTip(event, 'tt11', 'link118')" onMouseOut="HideTip('tt11')">mxShape</a> that represents the preview edge.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.bends"></a>bends</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.bends</td></tr></table></blockquote><p>Holds the <a href="../shape/mxShape-js.html#mxShape" class=LClass id=link119 onMouseOver="ShowTip(event, 'tt11', 'link119')" onMouseOut="HideTip('tt11')">mxShapes</a> that represent the points.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.labelShape"></a>labelShape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.labelShape</td></tr></table></blockquote><p>Holds the <a href="../shape/mxShape-js.html#mxShape" class=LClass id=link120 onMouseOver="ShowTip(event, 'tt11', 'link120')" onMouseOut="HideTip('tt11')">mxShape</a> that represents the label position.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.cloneEnabled"></a>cloneEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.cloneEnabled</td></tr></table></blockquote><p>Specifies if cloning by control-drag is enabled.&nbsp; Default is true.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.addEnabled"></a>addEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.addEnabled</td></tr></table></blockquote><p>Specifies if adding bends by shift-click is enabled.&nbsp; Default is false.&nbsp; Note: This experimental feature is not recommended for production use.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.removeEnabled"></a>removeEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.removeEnabled</td></tr></table></blockquote><p>Specifies if removing bends by shift-click is enabled.&nbsp; Default is false.&nbsp; Note: This experimental feature is not recommended for production use.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.dblClickRemoveEnabled"></a>dblClickRemoveEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.dblClickRemoveEnabled</td></tr></table></blockquote><p>Specifies if removing bends by double click is enabled.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.mergeRemoveEnabled"></a>mergeRemoveEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.mergeRemoveEnabled</td></tr></table></blockquote><p>Specifies if removing bends by dropping them on other bends is enabled.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.straightRemoveEnabled"></a>straightRemoveEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.straightRemoveEnabled</td></tr></table></blockquote><p>Specifies if removing bends by creating straight segments should be enabled.&nbsp; If enabled, this can be overridden by holding down the alt key while moving.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.virtualBendsEnabled"></a>virtualBendsEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.virtualBendsEnabled</td></tr></table></blockquote><p>Specifies if virtual bends should be added in the center of each segments.&nbsp; These bends can then be used to add new waypoints.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.virtualBendOpacity"></a>virtualBendOpacity</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.virtualBendOpacity</td></tr></table></blockquote><p>Opacity to be used for virtual bends (see <a href="#mxEdgeHandler.virtualBendsEnabled" class=LVariable id=link121 onMouseOver="ShowTip(event, 'tt20', 'link121')" onMouseOut="HideTip('tt20')">virtualBendsEnabled</a>).&nbsp; Default is 20.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.parentHighlightEnabled"></a>parentHighlightEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.parentHighlightEnabled</td></tr></table></blockquote><p>Specifies if the parent should be highlighted if a child cell is selected.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.preferHtml"></a>preferHtml</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.preferHtml</td></tr></table></blockquote><p>Specifies if bends should be added to the graph container.&nbsp; This is updated in <a href="#mxEdgeHandler.init" class=LFunction id=link122 onMouseOver="ShowTip(event, 'tt32', 'link122')" onMouseOut="HideTip('tt32')">init</a> based on whether the edge or one of its terminals has an HTML label in the container.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.allowHandleBoundsCheck"></a>allowHandleBoundsCheck</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.allowHandleBoundsCheck</td></tr></table></blockquote><p>Specifies if the bounds of handles should be used for hit-detection in IE Default is true.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.snapToTerminals"></a>snapToTerminals</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.snapToTerminals</td></tr></table></blockquote><p>Specifies if waypoints should snap to the routing centers of terminals.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.handleImage"></a>handleImage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.handleImage</td></tr></table></blockquote><p>Optional <a href="../util/mxImage-js.html#mxImage" class=LClass id=link123 onMouseOver="ShowTip(event, 'tt27', 'link123')" onMouseOut="HideTip('tt27')">mxImage</a> to be used as handles.&nbsp; Default is null.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.tolerance"></a>tolerance</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.tolerance</td></tr></table></blockquote><p>Optional tolerance for hit-detection in <a href="#mxEdgeHandler.getHandleForEvent" class=LFunction id=link124 onMouseOver="ShowTip(event, 'tt29', 'link124')" onMouseOut="HideTip('tt29')">getHandleForEvent</a>.&nbsp; Default is 0.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.outlineConnect"></a>outlineConnect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.outlineConnect</td></tr></table></blockquote><p>Specifies if connections to the outline of a highlighted target should be enabled.&nbsp; This will allow to place the connection point along the outline of the highlighted target.&nbsp; Default is false.</p></div></div></div>

<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.manageLabelHandle"></a>manageLabelHandle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.manageLabelHandle</td></tr></table></blockquote><p>Specifies if the label handle should be moved if it intersects with another handle.&nbsp; Uses <a href="#mxEdgeHandler.checkLabelHandle" class=LFunction id=link125 onMouseOver="ShowTip(event, 'tt90', 'link125')" onMouseOut="HideTip('tt90')">checkLabelHandle</a> for checking and moving.&nbsp; Default is false.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.init"></a>init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.init = function()</td></tr></table></blockquote><p>Initializes the shapes required for this edge handler.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isParentHighlightVisible"></a>isParentHighlightVisible</h3><div class=CBody><p>Returns true if the parent highlight should be visible.&nbsp; This implementation always returns true.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.updateParentHighlight"></a>updateParentHighlight</h3><div class=CBody><p>Updates the highlight of the parent if <a href="#mxEdgeHandler.parentHighlightEnabled" class=LVariable id=link126 onMouseOver="ShowTip(event, 'tt22', 'link126')" onMouseOut="HideTip('tt22')">parentHighlightEnabled</a> is true.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createCustomHandles"></a>createCustomHandles</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createCustomHandles = function()</td></tr></table></blockquote><p>Returns an array of custom handles.&nbsp; This implementation returns null.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isVirtualBendsEnabled"></a>isVirtualBendsEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isVirtualBendsEnabled = function(</td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if virtual bends should be added.&nbsp; This returns true if <a href="#mxEdgeHandler.virtualBendsEnabled" class=LVariable id=link127 onMouseOver="ShowTip(event, 'tt20', 'link127')" onMouseOut="HideTip('tt20')">virtualBendsEnabled</a> is true and the current style allows and renders custom waypoints.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isCellEnabled"></a>isCellEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isCellEnabled = function(</td><td class="PParameter  prettyprint " nowrap>cell</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given cell allows new connections to be created.&nbsp; This implementation always returns true.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isAddPointEvent"></a>isAddPointEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isAddPointEvent = function(</td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given event is a trigger to add a new point.&nbsp; This implementation returns true if shift is pressed.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isRemovePointEvent"></a>isRemovePointEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isRemovePointEvent = function(</td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given event is a trigger to remove a point.&nbsp; This implementation returns true if shift is pressed.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getSelectionPoints"></a>getSelectionPoints</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getSelectionPoints = function(</td><td class="PParameter  prettyprint " nowrap>state</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the list of points that defines the selection stroke.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createParentHighlightShape"></a>createParentHighlightShape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.createParentHighlightShape = function(</td><td class="PParameter  prettyprint " nowrap>bounds</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to draw the selection border.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createSelectionShape"></a>createSelectionShape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.createSelectionShape = function(</td><td class="PParameter  prettyprint " nowrap>points</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to draw the selection border.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getSelectionColor"></a>getSelectionColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.getSelectionColor = function()</td></tr></table></blockquote><p>Returns <a href="../util/mxConstants-js.html#mxConstants.EDGE_SELECTION_COLOR" class=LVariable id=link128 onMouseOver="ShowTip(event, 'tt42', 'link128')" onMouseOut="HideTip('tt42')">mxConstants.EDGE_SELECTION_COLOR</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getSelectionStrokeWidth"></a>getSelectionStrokeWidth</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.getSelectionStrokeWidth = function()</td></tr></table></blockquote><p>Returns <a href="../util/mxConstants-js.html#mxConstants.EDGE_SELECTION_STROKEWIDTH" class=LVariable id=link129 onMouseOver="ShowTip(event, 'tt44', 'link129')" onMouseOut="HideTip('tt44')">mxConstants.EDGE_SELECTION_STROKEWIDTH</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isSelectionDashed"></a>isSelectionDashed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.isSelectionDashed = function()</td></tr></table></blockquote><p>Returns &lt;mxConstants.EDGE_SELECTION_DASHED&gt;.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isConnectableCell"></a>isConnectableCell</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isConnectableCell = function(</td><td class="PParameter  prettyprint " nowrap>cell</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given cell is connectable.&nbsp; This is a hook to disable floating connections.&nbsp; This implementation returns true.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getCellAt"></a>getCellAt</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getCellAt = function(</td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates and returns the <a href="mxCellMarker-js.html#mxCellMarker" class=LClass id=link130 onMouseOver="ShowTip(event, 'tt48', 'link130')" onMouseOut="HideTip('tt48')">mxCellMarker</a> used in <a href="#mxEdgeHandler.marker" class=LVariable id=link131 onMouseOver="ShowTip(event, 'tt6', 'link131')" onMouseOut="HideTip('tt6')">marker</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createMarker"></a>createMarker</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createMarker = function()</td></tr></table></blockquote><p>Creates and returns the <a href="mxCellMarker-js.html#mxCellMarker" class=LClass id=link132 onMouseOver="ShowTip(event, 'tt48', 'link132')" onMouseOut="HideTip('tt48')">mxCellMarker</a> used in <a href="#mxEdgeHandler.marker" class=LVariable id=link133 onMouseOver="ShowTip(event, 'tt6', 'link133')" onMouseOut="HideTip('tt6')">marker</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.validateConnection"></a>validateConnection</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.validateConnection = function(</td><td class="PParameter  prettyprint " nowrap>source,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>target</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the error message or an empty string if the connection for the given source, target pair is not valid.&nbsp; Otherwise it returns null.&nbsp; This implementation uses <a href="../view/mxGraph-js.html#mxGraph.getEdgeValidationError" class=LFunction id=link134 onMouseOver="ShowTip(event, 'tt97', 'link134')" onMouseOut="HideTip('tt97')">mxGraph.getEdgeValidationError</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>source</td><td class=CDLDescription><a href="../model/mxCell-js.html#mxCell" class=LClass id=link135 onMouseOver="ShowTip(event, 'tt98', 'link135')" onMouseOut="HideTip('tt98')">mxCell</a> that represents the source terminal.</td></tr><tr><td class=CDLEntry>target</td><td class=CDLDescription><a href="../model/mxCell-js.html#mxCell" class=LClass id=link136 onMouseOver="ShowTip(event, 'tt98', 'link136')" onMouseOut="HideTip('tt98')">mxCell</a> that represents the target terminal.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createBends"></a>createBends</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createBends = function()</td></tr></table></blockquote><p>Creates and returns the bends used for modifying the edge.&nbsp; This is typically an array of <a href="../shape/mxRectangleShape-js.html#mxRectangleShape" class=LClass id=link137 onMouseOver="ShowTip(event, 'tt99', 'link137')" onMouseOut="HideTip('tt99')">mxRectangleShapes</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createVirtualBends"></a>createVirtualBends</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createVirtualBends = function()</td></tr></table></blockquote><p>Creates and returns the bends used for modifying the edge.&nbsp; This is typically an array of <a href="../shape/mxRectangleShape-js.html#mxRectangleShape" class=LClass id=link138 onMouseOver="ShowTip(event, 'tt99', 'link138')" onMouseOut="HideTip('tt99')">mxRectangleShapes</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isHandleEnabled"></a>isHandleEnabled</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isHandleEnabled = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to display the given bend.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isHandleVisible"></a>isHandleVisible</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isHandleVisible = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the handle at the given index is visible.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createHandleShape"></a>createHandleShape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.createHandleShape = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Creates the shape used to display the given bend.&nbsp; Note that the index may be null for special cases, such as when called from <a href="mxElbowEdgeHandler-js.html#mxElbowEdgeHandler.createVirtualBend" class=LFunction id=link139 onMouseOver="ShowTip(event, 'tt100', 'link139')" onMouseOut="HideTip('tt100')">mxElbowEdgeHandler.createVirtualBend</a>.&nbsp; Only images and rectangles should be returned if support for HTML labels with not foreign objects is required.&nbsp; Index if null for virtual handles.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.createLabelHandleShape"></a>createLabelHandleShape</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createLabelHandleShape = function()</td></tr></table></blockquote><p>Creates the shape used to display the the label handle.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.initBend"></a>initBend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.initBend = function(</td><td class="PParameter  prettyprint " nowrap>bend,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>dblClick</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Helper method to initialize the given bend.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>bend</td><td class=CDLDescription><a href="../shape/mxShape-js.html#mxShape" class=LClass id=link140 onMouseOver="ShowTip(event, 'tt11', 'link140')" onMouseOut="HideTip('tt11')">mxShape</a> that represents the bend to be initialized.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getHandleForEvent"></a>getHandleForEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getHandleForEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the index of the handle for the given event.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isAddVirtualBendEvent"></a>isAddVirtualBendEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isAddVirtualBendEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given event allows virtual bends to be added.&nbsp; This implementation returns true.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isCustomHandleEvent"></a>isCustomHandleEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isCustomHandleEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given event allows custom handles to be changed.&nbsp; This implementation returns true.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.mouseDown"></a>mouseDown</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.mouseDown = function(</td><td class="PParameter  prettyprint " nowrap>sender,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event by checking if a special element of the handler was clicked, in which case the index parameter is non-null.&nbsp; The indices may be one of &lt;LABEL_HANDLE&gt; or the number of the respective control point.&nbsp; The source and target points are used for reconnecting the edge.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.start"></a>start</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.start = function(</td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Starts the handling of the mouse gesture.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.clonePreviewState"></a>clonePreviewState</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.clonePreviewState = function(</td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>terminal</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns a clone of the current preview state for the given point and terminal.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getSnapToTerminalTolerance"></a>getSnapToTerminalTolerance</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.getSnapToTerminalTolerance = function()</td></tr></table></blockquote><p>Returns the tolerance for the guides.&nbsp; Default value is gridSize * scale / 2.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.updateHint"></a>updateHint</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.updateHint = function(</td><td class="PParameter  prettyprint " nowrap>me,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>point</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Hook for subclassers do show details while the handler is active.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.removeHint"></a>removeHint</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.removeHint = function()</td></tr></table></blockquote><p>Hooks for subclassers to hide details when the handler gets inactive.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.roundLength"></a>roundLength</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.roundLength = function(</td><td class="PParameter  prettyprint " nowrap>length</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Hook for rounding the unscaled width or height.&nbsp; This uses Math.round.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isSnapToTerminalsEvent"></a>isSnapToTerminalsEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isSnapToTerminalsEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if <a href="#mxEdgeHandler.snapToTerminals" class=LVariable id=link141 onMouseOver="ShowTip(event, 'tt25', 'link141')" onMouseOut="HideTip('tt25')">snapToTerminals</a> is true and if alt is not pressed.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getPointForEvent"></a>getPointForEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getPointForEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the point for the given event.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getPreviewTerminalState"></a>getPreviewTerminalState</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getPreviewTerminalState = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given preview state taking into account the state of the constraint handler.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getPreviewPoints"></a>getPreviewPoints</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getPreviewPoints = function(</td><td class="PParameter  prettyprint " nowrap>pt,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given preview state taking into account the state of the constraint handler.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pt</td><td class=CDLDescription><a href="../util/mxPoint-js.html#mxPoint" class=LClass id=link142 onMouseOver="ShowTip(event, 'tt101', 'link142')" onMouseOut="HideTip('tt101')">mxPoint</a> that contains the current pointer position.</td></tr><tr><td class=CDLEntry>me</td><td class=CDLDescription>Optional <a href="../util/mxMouseEvent-js.html#mxMouseEvent" class=LClass id=link143 onMouseOver="ShowTip(event, 'tt102', 'link143')" onMouseOut="HideTip('tt102')">mxMouseEvent</a> that contains the current event.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isOutlineConnectEvent"></a>isOutlineConnectEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isOutlineConnectEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if <a href="#mxEdgeHandler.outlineConnect" class=LVariable id=link144 onMouseOver="ShowTip(event, 'tt30', 'link144')" onMouseOut="HideTip('tt30')">outlineConnect</a> is true and the source of the event is the outline shape or shift is pressed.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.updatePreviewState"></a>updatePreviewState</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.updatePreviewState = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>terminalState,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>outline</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the given preview state taking into account the state of the constraint handler.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.mouseMove"></a>mouseMove</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.mouseMove = function(</td><td class="PParameter  prettyprint " nowrap>sender,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event by updating the preview.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.mouseUp"></a>mouseUp</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.mouseUp = function(</td><td class="PParameter  prettyprint " nowrap>sender,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Handles the event to applying the previewed changes on the edge by using <a href="#mxEdgeHandler.moveLabel" class=LFunction id=link145 onMouseOver="ShowTip(event, 'tt75', 'link145')" onMouseOut="HideTip('tt75')">moveLabel</a>, <a href="#mxEdgeHandler.connect" class=LFunction id=link146 onMouseOver="ShowTip(event, 'tt76', 'link146')" onMouseOut="HideTip('tt76')">connect</a> or <a href="#mxEdgeHandler.changePoints" class=LFunction id=link147 onMouseOver="ShowTip(event, 'tt77', 'link147')" onMouseOut="HideTip('tt77')">changePoints</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.reset"></a>reset</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.reset = function()</td></tr></table></blockquote><p>Resets the state of this handler.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.setPreviewColor"></a>setPreviewColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.setPreviewColor = function(</td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the color of the preview to the given value.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.convertPoint"></a>convertPoint</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.convertPoint = function(</td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>gridEnabled</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Converts the given point in-place from screen to unscaled, untranslated graph coordinates and applies the grid.&nbsp; Returns the given, modified point instance.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>point</td><td class=CDLDescription><a href="../util/mxPoint-js.html#mxPoint" class=LClass id=link148 onMouseOver="ShowTip(event, 'tt101', 'link148')" onMouseOut="HideTip('tt101')">mxPoint</a> to be converted.</td></tr><tr><td class=CDLEntry>gridEnabled</td><td class=CDLDescription>Boolean that specifies if the grid should be applied.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.moveLabel"></a>moveLabel</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.moveLabel = function(</td><td class="PParameter  prettyprint " nowrap>edgeState,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the coordinates for the label of the given edge.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>edge</td><td class=CDLDescription><a href="../model/mxCell-js.html#mxCell" class=LClass id=link149 onMouseOver="ShowTip(event, 'tt98', 'link149')" onMouseOut="HideTip('tt98')">mxCell</a> that represents the edge.</td></tr><tr><td class=CDLEntry>x</td><td class=CDLDescription>Integer that specifies the x-coordinate of the new location.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>Integer that specifies the y-coordinate of the new location.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.connect"></a>connect</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.connect = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>terminal,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>isSource,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>isClone,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the terminal or terminal point of the given edge in the graph model.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>edge</td><td class=CDLDescription><a href="../model/mxCell-js.html#mxCell" class=LClass id=link150 onMouseOver="ShowTip(event, 'tt98', 'link150')" onMouseOut="HideTip('tt98')">mxCell</a> that represents the edge to be reconnected.</td></tr><tr><td class=CDLEntry>terminal</td><td class=CDLDescription><a href="../model/mxCell-js.html#mxCell" class=LClass id=link151 onMouseOver="ShowTip(event, 'tt98', 'link151')" onMouseOut="HideTip('tt98')">mxCell</a> that represents the new terminal.</td></tr><tr><td class=CDLEntry>isSource</td><td class=CDLDescription>Boolean indicating if the new terminal is the source or target terminal.</td></tr><tr><td class=CDLEntry>isClone</td><td class=CDLDescription>Boolean indicating if the new connection should be a clone of the old edge.</td></tr><tr><td class=CDLEntry>me</td><td class=CDLDescription><a href="../util/mxMouseEvent-js.html#mxMouseEvent" class=LClass id=link152 onMouseOver="ShowTip(event, 'tt102', 'link152')" onMouseOut="HideTip('tt102')">mxMouseEvent</a> that contains the mouse up event.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.changeTerminalPoint"></a>changeTerminalPoint</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.changeTerminalPoint = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>isSource,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>clone</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the terminal point of the given edge.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.changePoints"></a>changePoints</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.changePoints = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>points,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>clone</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Changes the control points of the given edge in the graph model.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.addPoint"></a>addPoint</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.addPoint = function(</td><td class="PParameter  prettyprint " nowrap>state,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a control point for the given state and event.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.addPointAt"></a>addPointAt</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.addPointAt = function(</td><td class="PParameter  prettyprint " nowrap>state,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Adds a control point at the given point.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.removePoint"></a>removePoint</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.removePoint = function(</td><td class="PParameter  prettyprint " nowrap>state,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Removes the control point at the given index from the given state.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.getHandleFillColor"></a>getHandleFillColor</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getHandleFillColor = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the fillcolor for the handle at the given index.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.redraw"></a>redraw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.redraw = function(</td><td class="PParameter  prettyprint " nowrap>ignoreHandles</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Redraws the preview, and the bends- and label control points.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.redrawHandles"></a>redrawHandles</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.redrawHandles = function()</td></tr></table></blockquote><p>Redraws the handles.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isCustomHandleVisible"></a>isCustomHandleVisible</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isCustomHandleVisible = function(</td><td class="PParameter  prettyprint " nowrap>handle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns true if the given custom handle is visible.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.hideHandles"></a>hideHandles</h3><div class=CBody><p>Shortcut to &lt;hideSizers&gt;.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.redrawInnerBends"></a>redrawInnerBends</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.redrawInnerBends = function(</td><td class="PParameter  prettyprint " nowrap>p0,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>pe</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates and redraws the inner bends.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>p0</td><td class=CDLDescription><a href="../util/mxPoint-js.html#mxPoint" class=LClass id=link153 onMouseOver="ShowTip(event, 'tt101', 'link153')" onMouseOut="HideTip('tt101')">mxPoint</a> that represents the location of the first point.</td></tr><tr><td class=CDLEntry>pe</td><td class=CDLDescription><a href="../util/mxPoint-js.html#mxPoint" class=LClass id=link154 onMouseOver="ShowTip(event, 'tt101', 'link154')" onMouseOut="HideTip('tt101')">mxPoint</a> that represents the location of the last point.</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.checkLabelHandle"></a>checkLabelHandle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.checkLabelHandle = function(</td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Checks if the label handle intersects the given bounds and moves it if it intersects.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.drawPreview"></a>drawPreview</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.drawPreview = function()</td></tr></table></blockquote><p>Redraws the preview.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.refresh"></a>refresh</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.refresh = function()</td></tr></table></blockquote><p>Refreshes the bends of this handler.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.isDestroyed"></a>isDestroyed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.isDestroyed = function()</td></tr></table></blockquote><p>Returns true if <a href="#mxEdgeHandler.destroy" class=LFunction id=link155 onMouseOver="ShowTip(event, 'tt94', 'link155')" onMouseOut="HideTip('tt94')">destroy</a> was called.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.destroyBends"></a>destroyBends</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.destroyBends = function(</td><td class="PParameter  prettyprint " nowrap>bends</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Destroys all elements in <a href="#mxEdgeHandler.bends" class=LVariable id=link156 onMouseOver="ShowTip(event, 'tt12', 'link156')" onMouseOut="HideTip('tt12')">bends</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="mxEdgeHandler.destroy"></a>destroy</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.destroy = function()</td></tr></table></blockquote><p>Destroys the handler and all its resources and DOM nodes.&nbsp; This does normally not need to be called as handlers are destroyed automatically when the corresponding cell is deselected.</p></div></div></div>

</div><!--Content-->


<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->


<div id=Menu><div class=MEntry><div class=MFile><a href="../index-txt.html">API Specification</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Editor</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../editor/mxDefaultKeyHandler-js.html">mxDefaultKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxDefaultPopupMenu-js.html">mxDefaultPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxDefaultToolbar-js.html">mxDefaultToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../editor/mxEditor-js.html">mxEditor</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Handler</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="mxCellHighlight-js.html">mxCellHighlight</a></div></div><div class=MEntry><div class=MFile><a href="mxCellMarker-js.html">mxCellMarker</a></div></div><div class=MEntry><div class=MFile><a href="mxCellTracker-js.html">mxCellTracker</a></div></div><div class=MEntry><div class=MFile><a href="mxConnectionHandler-js.html">mxConnectionHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxConstraintHandler-js.html">mxConstraintHandler</a></div></div><div class=MEntry><div class=MFile id=MSelected>mxEdgeHandler</div></div><div class=MEntry><div class=MFile><a href="mxEdgeSegmentHandler-js.html">mxEdgeSegmentHandler.js</a></div></div><div class=MEntry><div class=MFile><a href="mxElbowEdgeHandler-js.html">mxElbowEdgeHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxGraphHandler-js.html">mxGraphHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxHandle-js.html">mxHandle</a></div></div><div class=MEntry><div class=MFile><a href="mxKeyHandler-js.html">mxKeyHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxPanningHandler-js.html">mxPanningHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxPopupMenuHandler-js.html">mxPopupMenuHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxRubberband-js.html">mxRubberband</a></div></div><div class=MEntry><div class=MFile><a href="mxSelectionCellsHandler-js.html">mxSelectionCellsHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxTooltipHandler-js.html">mxTooltipHandler</a></div></div><div class=MEntry><div class=MFile><a href="mxVertexHandler-js.html">mxVertexHandler</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Io</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="../io/mxCellCodec-js.html">mxCellCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxChildChangeCodec-js.html">mxChildChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxCodec-js.html">mxCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxCodecRegistry-js.html">mxCodecRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultKeyHandlerCodec-js.html">mxDefaultKeyHandlerCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultPopupMenuCodec-js.html">mxDefaultPopupMenuCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxDefaultToolbarCodec-js.html">mxDefaultToolbarCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxEditorCodec-js.html">mxEditorCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGenericChangeCodec-js.html">mxGenericChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGraphCodec-js.html">mxGraphCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxGraphViewCodec-js.html">mxGraphViewCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxModelCodec-js.html">mxModelCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxObjectCodec-js.html">mxObjectCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxRootChangeCodec-js.html">mxRootChangeCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxStylesheetCodec-js.html">mxStylesheetCodec</a></div></div><div class=MEntry><div class=MFile><a href="../io/mxTerminalChangeCodec-js.html">mxTerminalChangeCodec</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Layout</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">Hierarchical</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Model</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphAbstractHierarchyCell-js.html">mxGraphAbstractHierarchyCell</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphHierarchyEdge-js.html">mxGraphHierarchyEdge</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphHierarchyModel-js.html">mxGraphHierarchyModel</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxGraphHierarchyNode-js.html">mxGraphHierarchyNode</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/model/mxSwimlaneModel-js.html">mxSwimlaneModel</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/mxHierarchicalLayout-js.html">mxHierarchicalLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/mxSwimlaneLayout-js.html">mxSwimlaneLayout</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Stage</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxCoordinateAssignment-js.html">mxCoordinateAssignment</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxHierarchicalLayoutStage-js.html">mxHierarchicalLayoutStage</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxMedianHybridCrossingReduction-js.html">mxMedianHybridCrossingReduction</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxMinimumCycleRemover-js.html">mxMinimumCycleRemover</a></div></div><div class=MEntry><div class=MFile><a href="../layout/hierarchical/stage/mxSwimlaneOrdering-js.html">mxSwimlaneOrdering</a></div></div></div></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../layout/mxCircleLayout-js.html">mxCircleLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxCompactTreeLayout-js.html">mxCompactTreeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxCompositeLayout-js.html">mxCompositeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxEdgeLabelLayout-js.html">mxEdgeLabelLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxFastOrganicLayout-js.html">mxFastOrganicLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxGraphLayout-js.html">mxGraphLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxParallelEdgeLayout-js.html">mxParallelEdgeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxPartitionLayout-js.html">mxPartitionLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxRadialTreeLayout-js.html">mxRadialTreeLayout</a></div></div><div class=MEntry><div class=MFile><a href="../layout/mxStackLayout-js.html">mxStackLayout</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent8')">Model</a><div class=MGroupContent id=MGroupContent8><div class=MEntry><div class=MFile><a href="../model/mxCell-js.html">mxCell</a></div></div><div class=MEntry><div class=MFile><a href="../model/mxCellPath-js.html">mxCellPath</a></div></div><div class=MEntry><div class=MFile><a href="../model/mxGeometry-js.html">mxGeometry</a></div></div><div class=MEntry><div class=MFile><a href="../model/mxGraphModel-js.html">mxGraphModel</a></div></div></div></div></div><div class=MEntry><div class=MFile><a href="../mxClient-js.html">mxClient</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent9')">Shape</a><div class=MGroupContent id=MGroupContent9><div class=MEntry><div class=MFile><a href="../shape/mxActor-js.html">mxActor</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxArrow-js.html">mxArrow</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxArrowConnector-js.html">mxArrowConnector</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxCloud-js.html">mxCloud</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxConnector-js.html">mxConnector</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxCylinder-js.html">mxCylinder</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxDoubleEllipse-js.html">mxDoubleEllipse</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxEllipse-js.html">mxEllipse</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxHexagon-js.html">mxHexagon</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxImageShape-js.html">mxImageShape</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxLabel-js.html">mxLabel</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxLine-js.html">mxLine</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxMarker-js.html">mxMarker</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxPolyline-js.html">mxPolyline</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxRectangleShape-js.html">mxRectangleShape</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxRhombus-js.html">mxRhombus</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxShape-js.html">mxShape</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxStencil-js.html">mxStencil</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxStencilRegistry-js.html">mxStencilRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxSwimlane-js.html">mxSwimlane</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxText-js.html">mxText</a></div></div><div class=MEntry><div class=MFile><a href="../shape/mxTriangle-js.html">mxTriangle</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent10')">Util</a><div class=MGroupContent id=MGroupContent10><div class=MEntry><div class=MFile><a href="../util/mxAbstractCanvas2D-js.html">mxAbstractCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxAnimation-js.html">mxAnimation</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxAutoSaveManager-js.html">mxAutoSaveManager</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxClipboard-js.html">mxClipboard</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxConstants-js.html">mxConstants</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxDictionary-js.html">mxDictionary</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxDivResizer-js.html">mxDivResizer</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxDragSource-js.html">mxDragSource</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEffects-js.html">mxEffects</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEvent-js.html">mxEvent</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEventObject-js.html">mxEventObject</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxEventSource-js.html">mxEventSource</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxForm-js.html">mxForm</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxGuide-js.html">mxGuide</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxImage-js.html">mxImage</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxImageBundle-js.html">mxImageBundle</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxImageExport-js.html">mxImageExport</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxLog-js.html">mxLog</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxMorphing-js.html">mxMorphing</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxMouseEvent-js.html">mxMouseEvent</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxObjectIdentity-js.html">mxObjectIdentity</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxPanningManager-js.html">mxPanningManager</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxPoint-js.html">mxPoint</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxPopupMenu-js.html">mxPopupMenu</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxRectangle-js.html">mxRectangle</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxResources-js.html">mxResources</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxSvgCanvas2D-js.html">mxSvgCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxToolbar-js.html">mxToolbar</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUndoableEdit-js.html">mxUndoableEdit</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUndoManager-js.html">mxUndoManager</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUrlConverter-js.html">mxUrlConverter</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxUtils-js.html">mxUtils</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxVmlCanvas2D-js.html">mxVmlCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxWindow-js.html">mxWindow</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxXmlCanvas2D-js.html">mxXmlCanvas2D</a></div></div><div class=MEntry><div class=MFile><a href="../util/mxXmlRequest-js.html">mxXmlRequest</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent11')">View</a><div class=MGroupContent id=MGroupContent11><div class=MEntry><div class=MFile><a href="../view/mxCellEditor-js.html">mxCellEditor</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellOverlay-js.html">mxCellOverlay</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellRenderer-js.html">mxCellRenderer</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellState-js.html">mxCellState</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxCellStatePreview-js.html">mxCellStatePreview</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxConnectionConstraint-js.html">mxConnectionConstraint</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxEdgeStyle-js.html">mxEdgeStyle</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxGraph-js.html">mxGraph</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxGraphSelectionModel-js.html">mxGraphSelectionModel</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxGraphView-js.html">mxGraphView</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxLayoutManager-js.html">mxLayoutManager</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxMultiplicity-js.html">mxMultiplicity</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxOutline-js.html">mxOutline</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxPerimeter-js.html">mxPerimeter</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxPrintPreview-js.html">mxPrintPreview</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxStyleRegistry-js.html">mxStyleRegistry</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxStylesheet-js.html">mxStylesheet</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxSwimlaneManager-js.html">mxSwimlaneManager</a></div></div><div class=MEntry><div class=MFile><a href="../view/mxTemporaryCellStates-js.html">mxTemporaryCellStates</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent12')">Index</a><div class=MGroupContent id=MGroupContent12><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Cookies.html">Cookies</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Events.html">Events</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Cookies">Cookies</option><option value="Events">Events</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([2], 13);// --></script></div><!--Menu-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>function mxEdgeHandler(</td><td class="PParameter  prettyprint " nowrap>state</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs an edge handler for the specified mxCellState.</div></div><div class=CToolTip id="tt2"><div class=CClass>Represents the current state of a cell in a given mxGraphView.</div></div><div class=CToolTip id="tt3"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.graph</td></tr></table></blockquote>Reference to the enclosing mxGraph.</div></div><div class=CToolTip id="tt4"><div class=CClass>Extends mxEventSource to implement a graph component for the browser. </div></div><div class=CToolTip id="tt5"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.state</td></tr></table></blockquote>Reference to the mxCellState being modified.</div></div><div class=CToolTip id="tt6"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.marker</td></tr></table></blockquote>Holds the mxTerminalMarker which is used for highlighting terminals.</div></div><div class=CToolTip id="tt7"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.constraintHandler</td></tr></table></blockquote>Holds the mxConstraintHandler used for drawing and highlighting constraints.</div></div><div class=CToolTip id="tt8"><div class=CClass>Handles constraints on connection targets. </div></div><div class=CToolTip id="tt9"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.error</td></tr></table></blockquote>Holds the current validation error while a connection is being changed.</div></div><div class=CToolTip id="tt10"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.shape</td></tr></table></blockquote>Holds the mxShape that represents the preview edge.</div></div><div class=CToolTip id="tt11"><div class=CClass>Base class for all shapes. </div></div><div class=CToolTip id="tt12"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.bends</td></tr></table></blockquote>Holds the mxShapes that represent the points.</div></div><div class=CToolTip id="tt13"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.labelShape</td></tr></table></blockquote>Holds the mxShape that represents the label position.</div></div><div class=CToolTip id="tt14"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.cloneEnabled</td></tr></table></blockquote>Specifies if cloning by control-drag is enabled. </div></div><div class=CToolTip id="tt15"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.addEnabled</td></tr></table></blockquote>Specifies if adding bends by shift-click is enabled. </div></div><div class=CToolTip id="tt16"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.removeEnabled</td></tr></table></blockquote>Specifies if removing bends by shift-click is enabled. </div></div><div class=CToolTip id="tt17"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.dblClickRemoveEnabled</td></tr></table></blockquote>Specifies if removing bends by double click is enabled. </div></div><div class=CToolTip id="tt18"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.mergeRemoveEnabled</td></tr></table></blockquote>Specifies if removing bends by dropping them on other bends is enabled. </div></div><div class=CToolTip id="tt19"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.straightRemoveEnabled</td></tr></table></blockquote>Specifies if removing bends by creating straight segments should be enabled. </div></div><div class=CToolTip id="tt20"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.virtualBendsEnabled</td></tr></table></blockquote>Specifies if virtual bends should be added in the center of each segments. </div></div><div class=CToolTip id="tt21"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.virtualBendOpacity</td></tr></table></blockquote>Opacity to be used for virtual bends (see virtualBendsEnabled). </div></div><div class=CToolTip id="tt22"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.parentHighlightEnabled</td></tr></table></blockquote>Specifies if the parent should be highlighted if a child cell is selected. </div></div><div class=CToolTip id="tt23"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.preferHtml</td></tr></table></blockquote>Specifies if bends should be added to the graph container. </div></div><div class=CToolTip id="tt24"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.allowHandleBoundsCheck</td></tr></table></blockquote>Specifies if the bounds of handles should be used for hit-detection in IE Default is true.</div></div><div class=CToolTip id="tt25"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.snapToTerminals</td></tr></table></blockquote>Specifies if waypoints should snap to the routing centers of terminals. </div></div><div class=CToolTip id="tt26"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.handleImage</td></tr></table></blockquote>Optional mxImage to be used as handles. </div></div><div class=CToolTip id="tt27"><div class=CClass>Encapsulates the URL, width and height of an image.</div></div><div class=CToolTip id="tt28"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.tolerance</td></tr></table></blockquote>Optional tolerance for hit-detection in getHandleForEvent. </div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getHandleForEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the index of the handle for the given event.</div></div><div class=CToolTip id="tt30"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.outlineConnect</td></tr></table></blockquote>Specifies if connections to the outline of a highlighted target should be enabled. </div></div><div class=CToolTip id="tt31"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.manageLabelHandle</td></tr></table></blockquote>Specifies if the label handle should be moved if it intersects with another handle. </div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.init = function()</td></tr></table></blockquote>Initializes the shapes required for this edge handler.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createCustomHandles = function()</td></tr></table></blockquote>Returns an array of custom handles. </div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isVirtualBendsEnabled = function(</td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if virtual bends should be added. </div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isCellEnabled = function(</td><td class="PParameter  prettyprint " nowrap>cell</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given cell allows new connections to be created. </div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isAddPointEvent = function(</td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given event is a trigger to add a new point. </div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isRemovePointEvent = function(</td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given event is a trigger to remove a point. </div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getSelectionPoints = function(</td><td class="PParameter  prettyprint " nowrap>state</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the list of points that defines the selection stroke.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.createParentHighlightShape = function(</td><td class="PParameter  prettyprint " nowrap>bounds</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates the shape used to draw the selection border.</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.createSelectionShape = function(</td><td class="PParameter  prettyprint " nowrap>points</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates the shape used to draw the selection border.</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.getSelectionColor = function()</td></tr></table></blockquote>Returns mxConstants.EDGE_SELECTION_COLOR.</div></div><div class=CToolTip id="tt42"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">EDGE_SELECTION_COLOR: '#00FF00'</td></tr></table></blockquote>Defines the color to be used for the selection border of edges. </div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.getSelectionStrokeWidth = function()</td></tr></table></blockquote>Returns mxConstants.EDGE_SELECTION_STROKEWIDTH.</div></div><div class=CToolTip id="tt44"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">EDGE_SELECTION_STROKEWIDTH: 1</td></tr></table></blockquote>Defines the strokewidth to be used for edge selections. </div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.isSelectionDashed = function()</td></tr></table></blockquote>Returns mxConstants.EDGE_SELECTION_DASHED.</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isConnectableCell = function(</td><td class="PParameter  prettyprint " nowrap>cell</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given cell is connectable. </div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getCellAt = function(</td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates and returns the mxCellMarker used in marker.</div></div><div class=CToolTip id="tt48"><div class=CClass>A helper class to process mouse locations and highlight cells.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createMarker = function()</td></tr></table></blockquote>Creates and returns the mxCellMarker used in marker.</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.validateConnection = function(</td><td class="PParameter  prettyprint " nowrap>source,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>target</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the error message or an empty string if the connection for the given source, target pair is not valid. </div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createBends = function()</td></tr></table></blockquote>Creates and returns the bends used for modifying the edge. </div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createVirtualBends = function()</td></tr></table></blockquote>Creates and returns the bends used for modifying the edge. </div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isHandleEnabled = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates the shape used to display the given bend.</div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isHandleVisible = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the handle at the given index is visible.</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.createHandleShape = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates the shape used to display the given bend. </div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.createLabelHandleShape = function()</td></tr></table></blockquote>Creates the shape used to display the the label handle.</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.initBend = function(</td><td class="PParameter  prettyprint " nowrap>bend,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>dblClick</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Helper method to initialize the given bend.</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isAddVirtualBendEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given event allows virtual bends to be added. </div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isCustomHandleEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given event allows custom handles to be changed. </div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.mouseDown = function(</td><td class="PParameter  prettyprint " nowrap>sender,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Handles the event by checking if a special element of the handler was clicked, in which case the index parameter is non-null. </div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.start = function(</td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Starts the handling of the mouse gesture.</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.clonePreviewState = function(</td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>terminal</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns a clone of the current preview state for the given point and terminal.</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.getSnapToTerminalTolerance = function()</td></tr></table></blockquote>Returns the tolerance for the guides. </div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.updateHint = function(</td><td class="PParameter  prettyprint " nowrap>me,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>point</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Hook for subclassers do show details while the handler is active.</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.removeHint = function()</td></tr></table></blockquote>Hooks for subclassers to hide details when the handler gets inactive.</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.roundLength = function(</td><td class="PParameter  prettyprint " nowrap>length</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Hook for rounding the unscaled width or height. </div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isSnapToTerminalsEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if snapToTerminals is true and if alt is not pressed.</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getPointForEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the point for the given event.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getPreviewTerminalState = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates the given preview state taking into account the state of the constraint handler.</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getPreviewPoints = function(</td><td class="PParameter  prettyprint " nowrap>pt,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates the given preview state taking into account the state of the constraint handler.</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isOutlineConnectEvent = function(</td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if outlineConnect is true and the source of the event is the outline shape or shift is pressed.</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.updatePreviewState = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>terminalState,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>outline</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates the given preview state taking into account the state of the constraint handler.</div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.mouseMove = function(</td><td class="PParameter  prettyprint " nowrap>sender,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Handles the event by updating the preview.</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.mouseUp = function(</td><td class="PParameter  prettyprint " nowrap>sender,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Handles the event to applying the previewed changes on the edge by using moveLabel, connect or changePoints.</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.moveLabel = function(</td><td class="PParameter  prettyprint " nowrap>edgeState,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the coordinates for the label of the given edge.</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.connect = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>terminal,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>isSource,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>isClone,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>me</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the terminal or terminal point of the given edge in the graph model.</div></div><div class=CToolTip id="tt77"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.changePoints = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>points,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>clone</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the control points of the given edge in the graph model.</div></div><div class=CToolTip id="tt78"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.reset = function()</td></tr></table></blockquote>Resets the state of this handler.</div></div><div class=CToolTip id="tt79"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.setPreviewColor = function(</td><td class="PParameter  prettyprint " nowrap>color</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the color of the preview to the given value.</div></div><div class=CToolTip id="tt80"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.convertPoint = function(</td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>gridEnabled</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Converts the given point in-place from screen to unscaled, untranslated graph coordinates and applies the grid. </div></div><div class=CToolTip id="tt81"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.changeTerminalPoint = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>point,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>isSource,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>clone</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Changes the terminal point of the given edge.</div></div><div class=CToolTip id="tt82"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.addPoint = function(</td><td class="PParameter  prettyprint " nowrap>state,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>evt</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a control point for the given state and event.</div></div><div class=CToolTip id="tt83"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.addPointAt = function(</td><td class="PParameter  prettyprint " nowrap>state,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>y</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Adds a control point at the given point.</div></div><div class=CToolTip id="tt84"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.removePoint = function(</td><td class="PParameter  prettyprint " nowrap>state,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Removes the control point at the given index from the given state.</div></div><div class=CToolTip id="tt85"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.getHandleFillColor = function(</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the fillcolor for the handle at the given index.</div></div><div class=CToolTip id="tt86"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.redraw = function(</td><td class="PParameter  prettyprint " nowrap>ignoreHandles</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Redraws the preview, and the bends- and label control points.</div></div><div class=CToolTip id="tt87"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.redrawHandles = function()</td></tr></table></blockquote>Redraws the handles.</div></div><div class=CToolTip id="tt88"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.isCustomHandleVisible = function(</td><td class="PParameter  prettyprint " nowrap>handle</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns true if the given custom handle is visible.</div></div><div class=CToolTip id="tt89"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.redrawInnerBends = function(</td><td class="PParameter  prettyprint " nowrap>p0,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>pe</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates and redraws the inner bends.</div></div><div class=CToolTip id="tt90"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.checkLabelHandle = function(</td><td class="PParameter  prettyprint " nowrap>b</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Checks if the label handle intersects the given bounds and moves it if it intersects.</div></div><div class=CToolTip id="tt91"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.drawPreview = function()</td></tr></table></blockquote>Redraws the preview.</div></div><div class=CToolTip id="tt92"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.refresh = function()</td></tr></table></blockquote>Refreshes the bends of this handler.</div></div><div class=CToolTip id="tt93"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.isDestroyed = function()</td></tr></table></blockquote>Returns true if destroy was called.</div></div><div class=CToolTip id="tt94"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">mxEdgeHandler.prototype.destroy = function()</td></tr></table></blockquote>Destroys the handler and all its resources and DOM nodes. </div></div><div class=CToolTip id="tt95"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxEdgeHandler.prototype.destroyBends = function(</td><td class="PParameter  prettyprint " nowrap>bends</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Destroys all elements in bends.</div></div><div class=CToolTip id="tt96"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxGraph.prototype.createHandler = function(</td><td class="PParameter  prettyprint " nowrap>state</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new handler for the given cell state. </div></div><div class=CToolTip id="tt97"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxGraph.prototype.getEdgeValidationError = function(</td><td class="PParameter  prettyprint " nowrap>edge,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>source,</td></tr><tr><td></td><td class="PParameter  prettyprint " nowrap>target</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the validation error message to be displayed when inserting or changing an edges&rsquo; connectivity. </div></div><div class=CToolTip id="tt98"><div class=CClass>Cells are the elements of the graph model. </div></div><div class=CToolTip id="tt99"><div class=CClass>Extends mxShape to implement a rectangle shape. </div></div><div class=CToolTip id="tt100"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>mxElbowEdgeHandler.prototype.createVirtualBend = function(</td><td class="PParameter  prettyprint " nowrap>dblClickHandler</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a virtual bend that supports double clicking and calls mxGraph.flipEdge.</div></div><div class=CToolTip id="tt101"><div class=CClass>Implements a 2-dimensional vector with double precision coordinates.</div></div><div class=CToolTip id="tt102"><div class=CClass>Base class for all mouse events in mxGraph. </div></div><!--END_ND_TOOLTIPS-->




<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>


<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>